package com.quwan.app.service;

import com.quwan.app.vo.CircleDTO;
import com.quwan.app.vo.CircleNameDTO;
import com.quwan.common.result.PageResult;
import com.quwan.entity.TCircleName;
import com.quwan.entity.TCircleType;
import com.quwan.manager.controller.dto.CircleCommentDto;

import java.util.List;

/**
 * @author quan
 * @date 2022-03-20 18:03
 */

public interface AppCircleService {
    /**
     * 圈子类型列表
     * @return
     */
    List<TCircleType> getTypeList();

    /**
     * 圈子列表
     * @param pageNo
     * @param pageSize
     * @param id 圈子类型id
     * @param mId
     * @return
     */

    PageResult<CircleNameDTO> getNameList(int pageNo, int pageSize, String id, String mId);

    /**
     * 取消或关注 圈子
     * @param mId 用户id
     * @param id 圈子id
     * @param status 0取消 1关注
     * @return
     */
    boolean followCircle(String mId,String id, Integer status);

    /**
     * 我关注的圈子
     * @param mId
     * @param pageNo
     * @param pageSize
     * @return
     */
    PageResult<TCircleName> followerCircleList(String mId, int pageNo, int pageSize);

    /**
     * 圈子内容关注
     * @param mId
     * @param id
     * @param status 0取消 1关注
     * @return
     */
    boolean followCircleContent(String mId, String id, Integer status);

    /**
     * 圈子内容列表数据
     * @param mId
     * @param pageNo
     * @param pageSize
     * @param type
     * @return
     */
    PageResult<CircleDTO> contentList(String mId, int pageNo, int pageSize, String type, String id);

    /**
     * 发圈子
     * @param mId
     * @param id
     * @param content
     * @param imgs
     * @return
     */

    boolean publishCircle(String mId, String id, String content, String imgs);

    /**
     * 圈子内容详情
     * @param id 圈子内容id
     * @param mId 用户id
     * @return
     */
    CircleDTO getCircleDetail(String id, String mId);


    /**
     * 圈子评论列表数据
     * @param id
     * @return
     */
    PageResult<CircleCommentDto> getCircleCommentList(int pageNo, int pageSize, String id);


    /**
     * 圈子评论
     * @param id
     * @param content
     * @param mId 用户id
     * @return
     */
    boolean circleComment(String id, String content, String mId);
}
